package com.ruoyi.scope.mapper;


import com.ruoyi.scope.domain.Scope;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 经营范围基础Mapper接口
 *
 * @author zjh
 * @date 2022-04-08
 */
public interface ScopeMapper {
    /**
     * 查询经营范围基础
     *
     * @param scopeId 经营范围基础ID
     * @return 经营范围基础
     */
    public Scope selectScopeById(Long scopeId);

    /**
     * 查询经营范围基础列表
     *
     * @param scope 经营范围基础
     * @return 经营范围基础集合
     */
    public List<Scope> selectScopeList(Scope scope);

    /**
     * 新增经营范围基础
     *
     * @param scope 经营范围基础
     * @return 结果
     */
    public int insertScope(Scope scope);

    /**
     * 修改经营范围基础
     *
     * @param scope 经营范围基础
     * @return 结果
     */
    public int updateScope(Scope scope);

    /**
     * 删除经营范围基础
     *
     * @param scopeId 经营范围基础ID
     * @return 结果
     */
    public int deleteScopeById(Long scopeId);

    /**
     * 批量删除经营范围基础
     *
     * @param scopeIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteScopeByIds(String[] scopeIds);

    /**
     * 根据生产类别与管理类别查询数量
     *
     * @param scopeClass,productClass 查询条件
     * @return 结果
     */
    Integer selectScopeByName(@Param("scopeClass") String scopeClass,@Param("productClass") String productClass);

    /**
     * 根据生产类别与管理类别查询id
     *
     * @param scopeClass,productClass 查询条件
     * @return 结果
     */
    Long selectScopeIdByName(@Param("scopeClass") String scopeClass,@Param("productClass") String productClass);

//    /**
//     * 通过用户名查询用户
//     *
//     * @param userName 用户名
//     * @return 用户对象信息
//     */
//    insertScopes
//    public SysUser selectUserByLoginName(String userName);


    /**
     * 批量插入经营范围基础
     *
     * @param scope 需要插入的数据集合
     * @return 结果
     */
    public int insertScopes(@Param("scopeList") List<Scope> scope);

    Long selectScopeIdByNameAndProductRemark(@Param("scopeClass") String scopeClass,@Param("productClass") String productClass,@Param("productRemark") String productRemark);

    public List<Scope> selectScope();
}
